package org.com.f4.po;

import java.util.ArrayList;
import java.util.List;

public class WineproductExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WineproductExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andPronameIsNull() {
            addCriterion("proname is null");
            return (Criteria) this;
        }

        public Criteria andPronameIsNotNull() {
            addCriterion("proname is not null");
            return (Criteria) this;
        }

        public Criteria andPronameEqualTo(String value) {
            addCriterion("proname =", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotEqualTo(String value) {
            addCriterion("proname <>", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThan(String value) {
            addCriterion("proname >", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThanOrEqualTo(String value) {
            addCriterion("proname >=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThan(String value) {
            addCriterion("proname <", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThanOrEqualTo(String value) {
            addCriterion("proname <=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLike(String value) {
            addCriterion("proname like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotLike(String value) {
            addCriterion("proname not like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameIn(List<String> values) {
            addCriterion("proname in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotIn(List<String> values) {
            addCriterion("proname not in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameBetween(String value1, String value2) {
            addCriterion("proname between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotBetween(String value1, String value2) {
            addCriterion("proname not between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andBrandidIsNull() {
            addCriterion("brandid is null");
            return (Criteria) this;
        }

        public Criteria andBrandidIsNotNull() {
            addCriterion("brandid is not null");
            return (Criteria) this;
        }

        public Criteria andBrandidEqualTo(Integer value) {
            addCriterion("brandid =", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidNotEqualTo(Integer value) {
            addCriterion("brandid <>", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidGreaterThan(Integer value) {
            addCriterion("brandid >", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidGreaterThanOrEqualTo(Integer value) {
            addCriterion("brandid >=", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidLessThan(Integer value) {
            addCriterion("brandid <", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidLessThanOrEqualTo(Integer value) {
            addCriterion("brandid <=", value, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidIn(List<Integer> values) {
            addCriterion("brandid in", values, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidNotIn(List<Integer> values) {
            addCriterion("brandid not in", values, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidBetween(Integer value1, Integer value2) {
            addCriterion("brandid between", value1, value2, "brandid");
            return (Criteria) this;
        }

        public Criteria andBrandidNotBetween(Integer value1, Integer value2) {
            addCriterion("brandid not between", value1, value2, "brandid");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNull() {
            addCriterion("typeid is null");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNotNull() {
            addCriterion("typeid is not null");
            return (Criteria) this;
        }

        public Criteria andTypeidEqualTo(Integer value) {
            addCriterion("typeid =", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotEqualTo(Integer value) {
            addCriterion("typeid <>", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThan(Integer value) {
            addCriterion("typeid >", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("typeid >=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThan(Integer value) {
            addCriterion("typeid <", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThanOrEqualTo(Integer value) {
            addCriterion("typeid <=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidIn(List<Integer> values) {
            addCriterion("typeid in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotIn(List<Integer> values) {
            addCriterion("typeid not in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidBetween(Integer value1, Integer value2) {
            addCriterion("typeid between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotBetween(Integer value1, Integer value2) {
            addCriterion("typeid not between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andProaddressIsNull() {
            addCriterion("proaddress is null");
            return (Criteria) this;
        }

        public Criteria andProaddressIsNotNull() {
            addCriterion("proaddress is not null");
            return (Criteria) this;
        }

        public Criteria andProaddressEqualTo(String value) {
            addCriterion("proaddress =", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressNotEqualTo(String value) {
            addCriterion("proaddress <>", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressGreaterThan(String value) {
            addCriterion("proaddress >", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressGreaterThanOrEqualTo(String value) {
            addCriterion("proaddress >=", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressLessThan(String value) {
            addCriterion("proaddress <", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressLessThanOrEqualTo(String value) {
            addCriterion("proaddress <=", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressLike(String value) {
            addCriterion("proaddress like", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressNotLike(String value) {
            addCriterion("proaddress not like", value, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressIn(List<String> values) {
            addCriterion("proaddress in", values, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressNotIn(List<String> values) {
            addCriterion("proaddress not in", values, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressBetween(String value1, String value2) {
            addCriterion("proaddress between", value1, value2, "proaddress");
            return (Criteria) this;
        }

        public Criteria andProaddressNotBetween(String value1, String value2) {
            addCriterion("proaddress not between", value1, value2, "proaddress");
            return (Criteria) this;
        }

        public Criteria andAlcoholIsNull() {
            addCriterion("alcohol is null");
            return (Criteria) this;
        }

        public Criteria andAlcoholIsNotNull() {
            addCriterion("alcohol is not null");
            return (Criteria) this;
        }

        public Criteria andAlcoholEqualTo(String value) {
            addCriterion("alcohol =", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholNotEqualTo(String value) {
            addCriterion("alcohol <>", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholGreaterThan(String value) {
            addCriterion("alcohol >", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholGreaterThanOrEqualTo(String value) {
            addCriterion("alcohol >=", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholLessThan(String value) {
            addCriterion("alcohol <", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholLessThanOrEqualTo(String value) {
            addCriterion("alcohol <=", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholLike(String value) {
            addCriterion("alcohol like", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholNotLike(String value) {
            addCriterion("alcohol not like", value, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholIn(List<String> values) {
            addCriterion("alcohol in", values, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholNotIn(List<String> values) {
            addCriterion("alcohol not in", values, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholBetween(String value1, String value2) {
            addCriterion("alcohol between", value1, value2, "alcohol");
            return (Criteria) this;
        }

        public Criteria andAlcoholNotBetween(String value1, String value2) {
            addCriterion("alcohol not between", value1, value2, "alcohol");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidIsNull() {
            addCriterion("winefactoryid is null");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidIsNotNull() {
            addCriterion("winefactoryid is not null");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidEqualTo(Integer value) {
            addCriterion("winefactoryid =", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidNotEqualTo(Integer value) {
            addCriterion("winefactoryid <>", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidGreaterThan(Integer value) {
            addCriterion("winefactoryid >", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidGreaterThanOrEqualTo(Integer value) {
            addCriterion("winefactoryid >=", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidLessThan(Integer value) {
            addCriterion("winefactoryid <", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidLessThanOrEqualTo(Integer value) {
            addCriterion("winefactoryid <=", value, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidIn(List<Integer> values) {
            addCriterion("winefactoryid in", values, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidNotIn(List<Integer> values) {
            addCriterion("winefactoryid not in", values, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidBetween(Integer value1, Integer value2) {
            addCriterion("winefactoryid between", value1, value2, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andWinefactoryidNotBetween(Integer value1, Integer value2) {
            addCriterion("winefactoryid not between", value1, value2, "winefactoryid");
            return (Criteria) this;
        }

        public Criteria andPromaterialIsNull() {
            addCriterion("promaterial is null");
            return (Criteria) this;
        }

        public Criteria andPromaterialIsNotNull() {
            addCriterion("promaterial is not null");
            return (Criteria) this;
        }

        public Criteria andPromaterialEqualTo(String value) {
            addCriterion("promaterial =", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialNotEqualTo(String value) {
            addCriterion("promaterial <>", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialGreaterThan(String value) {
            addCriterion("promaterial >", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialGreaterThanOrEqualTo(String value) {
            addCriterion("promaterial >=", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialLessThan(String value) {
            addCriterion("promaterial <", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialLessThanOrEqualTo(String value) {
            addCriterion("promaterial <=", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialLike(String value) {
            addCriterion("promaterial like", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialNotLike(String value) {
            addCriterion("promaterial not like", value, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialIn(List<String> values) {
            addCriterion("promaterial in", values, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialNotIn(List<String> values) {
            addCriterion("promaterial not in", values, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialBetween(String value1, String value2) {
            addCriterion("promaterial between", value1, value2, "promaterial");
            return (Criteria) this;
        }

        public Criteria andPromaterialNotBetween(String value1, String value2) {
            addCriterion("promaterial not between", value1, value2, "promaterial");
            return (Criteria) this;
        }

        public Criteria andProcapacityIsNull() {
            addCriterion("procapacity is null");
            return (Criteria) this;
        }

        public Criteria andProcapacityIsNotNull() {
            addCriterion("procapacity is not null");
            return (Criteria) this;
        }

        public Criteria andProcapacityEqualTo(Double value) {
            addCriterion("procapacity =", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityNotEqualTo(Double value) {
            addCriterion("procapacity <>", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityGreaterThan(Double value) {
            addCriterion("procapacity >", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityGreaterThanOrEqualTo(Double value) {
            addCriterion("procapacity >=", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityLessThan(Double value) {
            addCriterion("procapacity <", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityLessThanOrEqualTo(Double value) {
            addCriterion("procapacity <=", value, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityIn(List<Double> values) {
            addCriterion("procapacity in", values, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityNotIn(List<Double> values) {
            addCriterion("procapacity not in", values, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityBetween(Double value1, Double value2) {
            addCriterion("procapacity between", value1, value2, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProcapacityNotBetween(Double value1, Double value2) {
            addCriterion("procapacity not between", value1, value2, "procapacity");
            return (Criteria) this;
        }

        public Criteria andProtraitIsNull() {
            addCriterion("protrait is null");
            return (Criteria) this;
        }

        public Criteria andProtraitIsNotNull() {
            addCriterion("protrait is not null");
            return (Criteria) this;
        }

        public Criteria andProtraitEqualTo(String value) {
            addCriterion("protrait =", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitNotEqualTo(String value) {
            addCriterion("protrait <>", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitGreaterThan(String value) {
            addCriterion("protrait >", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitGreaterThanOrEqualTo(String value) {
            addCriterion("protrait >=", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitLessThan(String value) {
            addCriterion("protrait <", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitLessThanOrEqualTo(String value) {
            addCriterion("protrait <=", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitLike(String value) {
            addCriterion("protrait like", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitNotLike(String value) {
            addCriterion("protrait not like", value, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitIn(List<String> values) {
            addCriterion("protrait in", values, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitNotIn(List<String> values) {
            addCriterion("protrait not in", values, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitBetween(String value1, String value2) {
            addCriterion("protrait between", value1, value2, "protrait");
            return (Criteria) this;
        }

        public Criteria andProtraitNotBetween(String value1, String value2) {
            addCriterion("protrait not between", value1, value2, "protrait");
            return (Criteria) this;
        }

        public Criteria andProstandardIsNull() {
            addCriterion("prostandard is null");
            return (Criteria) this;
        }

        public Criteria andProstandardIsNotNull() {
            addCriterion("prostandard is not null");
            return (Criteria) this;
        }

        public Criteria andProstandardEqualTo(String value) {
            addCriterion("prostandard =", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardNotEqualTo(String value) {
            addCriterion("prostandard <>", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardGreaterThan(String value) {
            addCriterion("prostandard >", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardGreaterThanOrEqualTo(String value) {
            addCriterion("prostandard >=", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardLessThan(String value) {
            addCriterion("prostandard <", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardLessThanOrEqualTo(String value) {
            addCriterion("prostandard <=", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardLike(String value) {
            addCriterion("prostandard like", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardNotLike(String value) {
            addCriterion("prostandard not like", value, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardIn(List<String> values) {
            addCriterion("prostandard in", values, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardNotIn(List<String> values) {
            addCriterion("prostandard not in", values, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardBetween(String value1, String value2) {
            addCriterion("prostandard between", value1, value2, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProstandardNotBetween(String value1, String value2) {
            addCriterion("prostandard not between", value1, value2, "prostandard");
            return (Criteria) this;
        }

        public Criteria andProdetailIsNull() {
            addCriterion("prodetail is null");
            return (Criteria) this;
        }

        public Criteria andProdetailIsNotNull() {
            addCriterion("prodetail is not null");
            return (Criteria) this;
        }

        public Criteria andProdetailEqualTo(String value) {
            addCriterion("prodetail =", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailNotEqualTo(String value) {
            addCriterion("prodetail <>", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailGreaterThan(String value) {
            addCriterion("prodetail >", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailGreaterThanOrEqualTo(String value) {
            addCriterion("prodetail >=", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailLessThan(String value) {
            addCriterion("prodetail <", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailLessThanOrEqualTo(String value) {
            addCriterion("prodetail <=", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailLike(String value) {
            addCriterion("prodetail like", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailNotLike(String value) {
            addCriterion("prodetail not like", value, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailIn(List<String> values) {
            addCriterion("prodetail in", values, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailNotIn(List<String> values) {
            addCriterion("prodetail not in", values, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailBetween(String value1, String value2) {
            addCriterion("prodetail between", value1, value2, "prodetail");
            return (Criteria) this;
        }

        public Criteria andProdetailNotBetween(String value1, String value2) {
            addCriterion("prodetail not between", value1, value2, "prodetail");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(Double value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(Double value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(Double value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(Double value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(Double value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<Double> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<Double> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(Double value1, Double value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(Double value1, Double value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andImageurlIsNull() {
            addCriterion("imageurl is null");
            return (Criteria) this;
        }

        public Criteria andImageurlIsNotNull() {
            addCriterion("imageurl is not null");
            return (Criteria) this;
        }

        public Criteria andImageurlEqualTo(String value) {
            addCriterion("imageurl =", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotEqualTo(String value) {
            addCriterion("imageurl <>", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlGreaterThan(String value) {
            addCriterion("imageurl >", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlGreaterThanOrEqualTo(String value) {
            addCriterion("imageurl >=", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLessThan(String value) {
            addCriterion("imageurl <", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLessThanOrEqualTo(String value) {
            addCriterion("imageurl <=", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLike(String value) {
            addCriterion("imageurl like", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotLike(String value) {
            addCriterion("imageurl not like", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlIn(List<String> values) {
            addCriterion("imageurl in", values, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotIn(List<String> values) {
            addCriterion("imageurl not in", values, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlBetween(String value1, String value2) {
            addCriterion("imageurl between", value1, value2, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotBetween(String value1, String value2) {
            addCriterion("imageurl not between", value1, value2, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImagenameIsNull() {
            addCriterion("imagename is null");
            return (Criteria) this;
        }

        public Criteria andImagenameIsNotNull() {
            addCriterion("imagename is not null");
            return (Criteria) this;
        }

        public Criteria andImagenameEqualTo(String value) {
            addCriterion("imagename =", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameNotEqualTo(String value) {
            addCriterion("imagename <>", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameGreaterThan(String value) {
            addCriterion("imagename >", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameGreaterThanOrEqualTo(String value) {
            addCriterion("imagename >=", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameLessThan(String value) {
            addCriterion("imagename <", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameLessThanOrEqualTo(String value) {
            addCriterion("imagename <=", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameLike(String value) {
            addCriterion("imagename like", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameNotLike(String value) {
            addCriterion("imagename not like", value, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameIn(List<String> values) {
            addCriterion("imagename in", values, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameNotIn(List<String> values) {
            addCriterion("imagename not in", values, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameBetween(String value1, String value2) {
            addCriterion("imagename between", value1, value2, "imagename");
            return (Criteria) this;
        }

        public Criteria andImagenameNotBetween(String value1, String value2) {
            addCriterion("imagename not between", value1, value2, "imagename");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}